package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.EmployeeBean;

import java.util.List;


/**
 * 员工接口类
 */
public interface IStaffService {
    int PAGESIZE = 5;
    /**
     * 添加员工
     * @param employee 员工对象
     */
    void addEmployee(EmployeeBean employee);

    /**
     * 员工离职，通过员工id将员工状态改为离职，并且将员工参与的项目完成日期修改为当前
     * @param empID 员工id
     * @param status 员工状态
     */
    void UpdateStatus(int empID,String status);

    /**
     * 修改员工的信息，先通过id查询出该员工的基本信息，再通过id修改员工工资和电话
     * @param empID 员工id
     * @param phone 员工电话
     * @param salary 员工工资
     */
    void updateInfo(int empID,String phone,int salary);

    /**
     * 通过id查询该员工的全部信息，包括参与的项目，和项目基本信息
     * @param empID 员工id
     * @return 员工对象
     */
    EmployeeBean findByID(int empID);

    /**
     * 动态条件查询不在指定项目的员工，项目编号为固定条件，员工的姓名和专长为动态条件
     * @param name 员工姓名
     * @param Specialty 员工专长
     * @return 员工集合
     */
    List<EmployeeBean> findStaff(String name, String Specialty,String status);
    /** 动态条件分页查询员工信息
     * @param pageNo 页码
     * @param name 员工名
     * @param specialty 员工专长
     * @param state 员工状态
     * @param order 排序规则
     * @return 员工分页对象
     */
    PageInfo<EmployeeBean> findByItem(int pageNo, String name, String specialty, String state, String order);
}
